package toLC;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import killer.member.model.MemberVO;
import killer.member.service.MemberService;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class MemberController {
	@Resource(name="memberService")
	private MemberService memberService;
	/**
	 * 회원가입 페이지로 가게 해주는 컨트롤러
	 */
	@RequestMapping("registerMemberPage.killer")
	public String registerMemberPage(){
		return "registerMember.member";
	}
	/**
	 * 회원 등록 해주는 컨트롤러
	 */
	@RequestMapping("registerMember.killer")
	public String registerMember(MemberVO paramMvo){
		System.out.println("MemberController 회원등록위해 받은 정보 : "+paramMvo);
		memberService.registerMember(paramMvo);
		return "home";
	}
	/**
	 * 로그인 페이지로 가게 해주는 컨트롤러
	 */
	@RequestMapping("loginPage.killer")
	public String loginPage(){
		return "login.member";
	}
	/**
	 * 로그인 관리를 해주는 컨트롤러
	 * 입력한 정보의 회원이 존재하지 않을 경우 loginFail.jsp 로 보내주고
	 * 회원이 존재하면 loginOk.jsp 로 보내준다.
	 */
	@RequestMapping("loginMember.killer")
	public String loginMember(HttpServletRequest request,HttpServletResponse response,MemberVO paramMvo){
		
		MemberVO mvo=memberService.loginMember(paramMvo);
		System.out.println("MemberController의 loginMember에서 mvo:"+mvo);
		String path="";
		if(mvo==null){ //검색실패
			path="login_fail.member";
		}else{ //검색성공
			HttpSession session=request.getSession();
			session.setAttribute("memberLogin", mvo);
			path="login_ok.member";
		}
		return path;
	}
	/**
	 * 로그아웃 관리를 하는 컨트롤러
	 * 세션이 존재하고 그 안에 회원 정보가 들어 있을 경우에 세션을 없애준다.
	 * 로그아웃을 한 뒤에는 login.jsp 로 보내준다.
	 */
	@RequestMapping("logoutMember.killer")
	public String logoutMember(HttpSession session){
		if(session!=null){
			if(session.getAttribute("memberLogin")!=null)
				session.invalidate();
		}
		return "home";
	}
	
	public ModelAndView checkMemberPassword(MemberVO paramMvo){
		return null;
	}
	
	/*
	 * 탈퇴용 패스워드 체크
	 */
	public ModelAndView checkMemberPasswordForWithdraw(MemberVO paramMvo){
		return null;
	}
	
	public ModelAndView updateMember(MemberVO paramMvo){
		return null;
	}
	
	public ModelAndView deleteMember(String memberId){
		return null;
	}
	
	public ModelAndView getIdBySsnAndName(MemberVO paramMvo){
		return null;
	}
	
	public ModelAndView getPasswordByIdAndSsn(MemberVO paramMvo){
		return null;
	}
	
	public ModelAndView getAllMemberList(int nowPage){
		return null;
	}
	
	public ModelAndView isMemberExist(MemberVO paramMvo){
		return null;
	}
	
}

























